ツリー

エクスプローラのフォルダ一覧のような木構造の一覧表を作るための部品です。木構造(ツリー)では、枝葉(ノード)をツリー項目で表現します。

作成する方法

【名前】というツリーを作る

手順

部品から継承される手順のほか、次の手順が使用できます。

【自分】をクリアする

このツリーから項目をすべて削除します

【自分】をすべて消す

このツリーから項目をすべて削除します

【自分】へ〈【名前】という【内容】を【アイコン/画像】で〉加えるツリー項目

このツリー直下の最後へツリー項目を追加します。

【自分】:【対象】へ〈【名前】という【内容】を【アイコン/画像】で〉加える:ツリー項目

指定した名前のツリー項目の最後へツリー項目を追加します。

【自分】へ【ツリー項目】を加えるツリー項目

このツリー直下の最後へツリー項目を追加します。

【自分】:【対象項目:ツリー項目】へ〈【名前】という【内容】を【アイコン/画像】で〉挟むツリー項目

指定したツリーの任意のツリー項目に、別のツリー項目を挿入します(廃止予定。「ツリー項目」の「挟む」手順を利用して下さい)

【自分】から【名前:文字列】を消す

ツリーから指定した名前を持つ項目を削除します

【自分】から【番号】番目を消す

ツリーから指定した番号の項目を削除します

【自分】から【項目:ツリー項目】を消す

ツリーから項目を削除します

【自分】から探す

指定したツリー項目が何番目であるかを表します

【自分】を編集する

指定した項目の見出しを編集します
〈項目〉を省略すると選択している項目を編集します

【自分】を更新開始する

項目を操作するために一時的に描画を抑制します

【自分】を更新終了する

「変更開始」手順で一時的に停止した描画の抑制を解除します

設定項目

部品から継承される設定項目のほか、次の設定項目が使用できます。

設定項目   説明
スクロールバー 真偽 必要に応じてスクロールバーを表示するかどうか
チェックボックス 真偽 ツリーの項目にチェックボックスを表示するかどうか
一覧   ツリーの状態を配列で表します
階層罫線 真偽 階層を罫線で結ぶかどうか
強調表示 真偽 項目にマウスカーソルが置かれたときに強調するかどうか
区切り文字 文字列 ツリーの階層を表す際に階層の区切りとして使う記号
個数 整数 根の直下にある項目数
項目高さ 整数 項目の高さ
根元罫線 真偽 ツリーの根元となる項目に罫線を引くかどうか
先頭項目 ツリー項目 ツリーの一番先頭の項目を取得します
選択内容 文字列 選択している項目の内容
選択項目 ツリー項目 選択しているツリー項目
選択表示 真偽 他の部品が選択されているときもツリーの選択状態を表示するかどうか
帯選択 真偽 ツリーを選択した際に帯状に表示するかどうか
段落幅 整数 ツリーの階層の幅
展開ボタン 真偽 項目の横にある階層を展開するための+ボタンを表示するかどうか
透明色 アイコンの透明となる色
同時表示可能数 整数 一画面で表示できるツリーの数を取得します
文字色 真偽 ツリーの項目の文字の色
並べ替え 真偽 ツリーの項目を並べ替えるかどうか
名前編集 真偽 項目の見出しを変更できるようにするかどうか
  ツリーの枠の形

記号の意味

イベント手順

部品から継承されるイベント手順のほか、次のイベント手順が使用できます。

イベント名 説明 イベント情報
チェックする 項目のチェック状態が変化する直前。クリック操作および設定項目の設定によって発生します。 あり
チェックされた 項目のチェック状態が変化された直後。クリック操作および設定項目の設定によって発生します。 あり
ドラッグされた 項目をドラッグされた時
折りたたみ前 項目を折りたたむ直前 あり
折りたたみ後 項目を折りたたんだ直後 あり
選択する 項目が選択する直前 あり
選択された 項目が選択された直後 あり
展開前 項目を展開する直前 あり
展開後 項目を展開された直後 あり
編集後 項目の見出しを編集した後 あり
編集前 項目の見出しを編集する前 あり

サンプルコード

項目を追加する

「ツリー項目」でノードの状態を変えられます。

【親のツリー項目】【項目名】を〈【アイコン】で〉追加する

ツリービューに項目を追加する例です。実行すると次のようなツリーにノードを作れます。アイコンは、任意ですので、サンプルフォルダにあるアイコンを使って試してみてください。

画像フォルダは「[プログラムのフォルダ]..\image\」
メイン画面を表示する
待機する

メイン画面とは
	ウィンドウを受け継ぐ

	はじめの手順
		この内容を「ツリービューのテスト」に変える

		ツリー1というツリーを作る
 			その大きさを{200,200}に変える
 			そのドッキング方向を全体に変える
		ツリー1へ「文章」を「[画像フォルダ]folder_close.ico」で追加してノードAとする
		ノードAへ「[画像フォルダ]folder_close.ico」で「9月」を追加する
		ノードAへ「[画像フォルダ]folder_close.ico」で「10月」を追加する

		ツリー1へ「写真」を「[画像フォルダ]folder_close.ico」で追加してノードBとする
		ノードBへ「[画像フォルダ]folder_close.ico」で「旅行」を追加する
		ノードBへ「[画像フォルダ]folder_close.ico」で「バーベキュー」を追加する
		ノードBへ「[画像フォルダ]folder_close.ico」で「海」を追加する
	終わり

	ツリー1が折りたたみ後時の手順
		イベントの対象のアイコンを「[画像フォルダ]folder_close.ico」に変える
	終わり
	ツリー1が展開後時の手順
		イベントの対象のアイコンを「[画像フォルダ]folder_open.ico」に変える
	終わり
終わり

枝の展開と折りたたみ

枝を展開して子となる項目を出したときと、枝を折りたたんだときにも手順が実行されます。
開いたときと閉じたときで、アイコンの形を変えるときなどに使います。

ツリー1が折りたたみ後時の手順
	イベントの対象のアイコンを「..\image\folder_close.ico」に変える
終わり
ツリー1が展開後時の手順
	イベントの対象のアイコンを「..\image\folder_open.ico」に変える
終わり

ツリー項目の名称を編集できるようにする

ツリーの項目名を変更できるようにすることもできます。
項目名(ラベル)を変更する直前に「編集前」イベント手順が実行され、直後に「編集後」イベント手順が実行されます。

変更後の項目名は「この時の内容」で取得できますので これらを使って正しい内容が指定されているか判断できます。

もし内容が正しくない場合は「この時のキャンセル」で○ を設定すると、編集中のラベルが変更されずに編集前に戻ります。

ツリー1の名前編集を○に変える

ツリー1が編集後時の手順
	//ラベルの編集の確認
	この時の内容が「」なら
		「空白にはできません」を警告アイコンで表示する
		この時のキャンセルは、○
	そして
終わり

チェックが入れられるようする

ツリーの各項目にチェックを入れることもできます。

ツリー1のチェックボックスを○に変える

こうすることで各項目にチェックボックスが表示されます。

チェックされているかどうか調べる場合は、次のように書きます。

《ツリー名》《項目名または番号》のチェック

項目名は、追加するときに指定した名前です。

また、選択している部分に関して調べるときは、次のようにすることもできます。

《ツリー名》のチェック

ツリー項目の文字の色などを変更する

指定した部分の項目名の色や背景を変更できます。

《ツリー名》《項目名または番号》の色を青に変える
《ツリー名》《項目名または番号》の太字をオンに変える
《ツリー名》《項目名または番号》の背景を灰色に変える

項目名を「選択」とすると現在選択している項目に対して設定します。

ツリー項目をチェック可能にする

昔のラジオのボタンのように、チェックオブジェクトのようにすることもできます。

ツリー1の1番目のスタイルを1に変える
ツリー1の1番目のチェックを○に変える

このようにすると、1番目のボタンがチェック状態になります。

ツリー項目についてパスなどを調べる

指定した項目の属する位置や親の項目名、子の項目の数などの情報を調べることもできます。

《ツリー名》《項目名または番号》のパス
《ツリー名》《項目名または番号》の親
《ツリー名》《項目名または番号》の個数

エクスプローラ風フォルダーツリーを作る

「shell32.dll」の4番目からアイコン画像を抽出してフォルダアイコンとする
メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
    デスクトップからツリーを構築する
  終わり
  初期化する手順
  この設計スケール比率を{144,144}に変える
  この内部領域大きさを{538,417}に変える
  この内容を「ファイルツリー」に変える
  ラベル1というラベルを作る
    その位置と大きさを{133,375,59,18}に変える
    その内容を「ラベル1」に変える
    その移動順を3に変える
  選択ボタンというボタンを作る
    その位置と大きさを{12,364,115,41}に変える
    その内容を「選択」に変える
    その移動順を1に変える
  ツリー1というツリーを作る
    その位置と大きさを{12,12,514,346}に変える
    その項目高さを20に変える
    その移動順を2に変える
    その位置固定方向を「右+左+下+上」に変える
  終わり
  [選択フォルダ]からツリーを構築する手順
    ツリー1をクリアする
    「[選択フォルダ]」が「\」で終わるなら、選択フォルダの末尾から1文字消して、選択フォルダとする
    ツリー1に選択フォルダをフォルダアイコンで追加してルートとする
    ルートに選択フォルダからツリーを構築する
  終わり
  [選択フォルダ]から[対象ノード]にツリーを構築する手順
    【フォルダ一覧】は、選択フォルダのフォルダの一覧
    フォルダ一覧のすべてのフォルダ名についてそれぞれ繰り返す
      対象ノードにフォルダ名をフォルダアイコンで追加して子ノードとする
      子ノードに選択フォルダ&「\」&フォルダ名からツリーを構築する
    そして
  終わり

  選択ボタンがクリックされた時の手順
    フォルダ選択画面を表示でなければ抜け出す
    フォルダ選択画面のフォルダ名からツリーを構築する
  終わり
  
  ツリー1が選択された時の手順
    ラベル1の内容は、ツリー1の選択項目のフルパス
  終わり
終わり

ページ先頭へ